<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Promise.prototype.then</title>
</head>
<body>
    <script>
        const p = new Promise((resolve, reject) => {
            setTimeout(() => {
                resolve('用户数据');
            }, 1000)
        });

        /*
            then方法返回的结果依然是Promise对象，其状态是由then方法指定的回调函数执行的结果决定
                1. 返回值不是promise类型的，状态都是成功的
                        比如：return 123   return undefined （如果不写返回值，默认返回undefined）
             
                2. 返回值是promise类型的, 与该实例对象状态一致
                        return new Promise((resolve, reject) => {
                            resolve('success');
                        })
                        
                3. 抛出异常，状态是失败的
                            
        */
        const result = p.then(value => {
            // 抛出异常
            // throw '出错啦!';
        }, reason => {
            console.warn(reason);
        });
        console.log(result);
       
    </script>
</body>

</html>